package com.zmc.member.infrastructure.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zmc.common.utils.PageUtils;
import com.zmc.member.infrastructure.bean.query.ShoppingCartQuery;
import com.zmc.member.infrastructure.bean.vo.ShoppingCartItemUpdateCountVo;
import com.zmc.member.infrastructure.bean.vo.ShoppingCartVo;
import com.zmc.member.infrastructure.entity.ShoppingCartItemEntity;
import com.zmc.member.infrastructure.bean.vo.ShoppingCartSelectedVo;

import java.util.List;

/**
 * 购物车的商品条目
 *
 * @author zmc
 * @email 
 * @date 2024-11-04 17:58:43
 */
public interface ShoppingCartItemService extends IService<ShoppingCartItemEntity> {

    void setSelectedStatus(ShoppingCartSelectedVo vo);

    /**
     * 清除已选中的订单条目
     * */
    void clearHasSelected();

    List<ShoppingCartItemEntity> getListBySkuIds(List<String> skuIds);

    void saveOrUpdateItemList(List<ShoppingCartItemEntity> items);

    void removeBySkuIds(List<String> skuIds);

    void updateShoppingCartItem(ShoppingCartItemUpdateCountVo vo);

    void addShoppingCart(ShoppingCartVo shoppingCartVo);

    List<ShoppingCartVo> getSelectedList(List<String> skuIds);

    PageUtils shoppingCartList(ShoppingCartQuery cartQuery);

}

